package com.cloud.cli.util;

import java.util.Locale;

/**
 * 字符串操作
 *
 * @author weidong.lin
 * @date 2021/7/20 15:07
 */
public class StringUtil {

    /**
     * 根据大写字母分割字符串，并保留大写字母
     * <p>
     * [A-Z] 表示任意一个大写字母
     * $0 表示匹配到的第一个字符（即该大写字母）
     * -$0 表示在匹配到的大写字母前加一个下划线（作为分隔符使用）
     * 最后再使用方法 split 以下划线 ’-‘ 为分隔符分割字符串，得到结果
     *
     * @param source
     * @return
     */
    public static String splitCaseByUpper(String source) {
        if (source == null || source.length() == 0) {
            return "";
        }
        String tempName = source.replaceAll("[A-Z]", "-$0");
        return tempName.toLowerCase(Locale.ROOT).substring(1);
    }
}
